const os = require('os')
module.exports = {
  getIP() {
    //获取本机ip
    let getIPAdress = function () {
      var interfaces = os.networkInterfaces();
      // console.log('', interfaces)
      for (var devName in interfaces) {
        var iface = interfaces[devName];
        for (var i = 0; i < iface.length; i++) {
          var alias = iface[i];
          if (alias.family === 'IPv4' && alias.address !== '127.0.0.1' && !alias.internal) {
            return alias.address;
          }
        }
      }
    }
    let ip = getIPAdress();
    console.log('当前机器IP为：' + ip);// 192.168.0.4
    return ip;
  },
  /**
* 将指定日期时间或当前日期时间转换成指定的格式。
* @fmt {String} 日期格式
* @timestamp {Date} 标准时间。选填。
*/
  format(fmt, timestamp) {
    const date = timestamp ? new Date(timestamp) : new Date()
    const o = {
      "Y+": date.getFullYear(),
      "M+": date.getMonth() + 1,     // 月
      "D+": date.getDate(),          // 日
      "h+": date.getHours(),         // 时
      "m+": date.getMinutes(),       // 分
      "s+": date.getSeconds(),       // 秒
      "W": date.getDay()             // 周
    }
    for (var k in o) {
      if (new RegExp("(" + k + ")").test(fmt)) {
        fmt = fmt.replace(RegExp.$1, () => {
          if (k === 'W') {                                    // 星期几
            const week = ['日', '一', '二', '三', '四', '五', '六']
            return week[o[k]]
          } else if (k === 'Y+' || RegExp.$1.length == 1) {    // 年份 or 小于10不加0
            return o[k]
          } else {
            return ("00" + o[k]).substr(("" + o[k]).length)  // 小于10补位0
          }
        })
      }
    }
    return fmt
  }
}